import { URL } from "../eunms"
// import router from "../router"
const baseUrl = URL.LOCALURL
/*
* path: 请求路径
* method: 请求方法 默认get
* data: 请求参数 默认为空
* */
function requests<T>(path = "", data = {} as any, method = "GET", token = "") {
return new Promise<T>(function (resolve, reject) {
method = method.toUpperCase()
// 默认请求头
let requestHeader = {
headers: {
"content-type": "application/json",
authorization: token,
},
mode: "cors",
method,
} as any
// 如果是get请求
if (method === "GET") {
// 转换拼接get参数
let esc = encodeURIComponent
let queryParams = Object.keys(data)
.map((k) => `${esc(data[k])}`)
.join("/")
if (queryParams) path += `/${queryParams}`
} else {
// 其他请求 放入body里面
requestHeader.body = JSON.stringify(data)
}
// 可以在这封装一个回调函数，请求拦截

https://cn.vitejs.dev/config/server-options.html

// 发送请求并返回 promise 对象 注意 fetch不会拦截其他异常请求️
fetch(`${baseUrl}${path}`, requestHeader)
.then(
// 可在这里封装 响应拦截函数
(response) => {
return response.json()
}
)
.then((data) => {
console.log(data)
resolve(data)
// if (0 == data.code) {
// resolve(data.data)
// } else {
// router.push({ name: "404" })
// }
})
.catch((e) => {
console.log(e)
reject(e)
})
})
}
export default requests